----------------------------------------------
-- XML Schema
----------------------------------------------

CREATE XML SCHEMA COLLECTION ResumeSchema AS N''

-- Schema

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
		xmlns="resume-schema"
		targetNamespace="resume-schema"
		elementFormDefault="qualified">

<xsd:element name="Resume" type="ResumeType"/>
<xsd:complexType name="ResumeType" mixed="true">
 <xsd:sequence>
  <xsd:element name="Name" type="NameType" minOccurs="0"/>
  <xsd:element name="Objective" type="xsd:string" minOccurs="0"/>
  <xsd:element name="Experience" type="Experience" minOccurs="0" maxOccurs="unbounded"/>
  <xsd:element name="Education" type="Education" minOccurs="0" maxOccurs="unbounded"/>
  <xsd:element name="InterestSection" type="xsd:string" minOccurs="0"/>
 </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Experience" mixed="true">
  <xsd:sequence>
    <xsd:element name="YearFrom" type="xsd:int"/>
    <xsd:element name="YearTo" type="xsd:int"/>
    <xsd:element name="Title" type="xsd:string"/>
    <xsd:element name="Description" type="xsd:string"/>
  </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Education" mixed="true">
  <xsd:sequence>
    <xsd:element name="YearFrom" type="xsd:int"/>
    <xsd:element name="YearTo" type="xsd:int"/>
    <xsd:element name="Description" type="xsd:string"/>
  </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="NameType" mixed="true">
 <xsd:all>
  <xsd:element name="FirstName" type="xsd:string"/>
  <xsd:element name="LastName" type="xsd:string"/>
 </xsd:all>
</xsd:complexType>
</xsd:schema>

--

SELECT * FROM sys.xml_schema_collections

-- Create Table

DROP TABLE Candidate
CREATE TABLE Candidate (ID int, Name varchar(50), Resume xml (ResumeSchema))

--

INSERT Candidate VALUES (1,'Smith','')

-- Smith.xml

<?xml version="1.0" encoding="utf-8" ?>
<Resume xmlns="resume-schema">
<Name>
<FirstName>Pat</FirstName>
<LastName>Smith</LastName>
</Name>
<Objective>Speak about Yukon and Whidbey</Objective>
<Experience>
<YearFrom>1993</YearFrom>
<YearTo>1999</YearTo>
<Title>Software Developer</Title>
<Description>Built lots of really cool software!</Description>
</Experience>
<Experience>
<YearFrom>2000</YearFrom>
<YearTo>2005</YearTo>
<Title>Trainer and Author</Title>
<Description>Wrote books and spoke at lots of conferences</Description>
</Experience>
<Education>
<YearFrom>1989</YearFrom>
<YearTo>1993</YearTo>
<Description>Podunk University</Description>
</Education>
<InterestSection>I like pudding!</InterestSection>
</Resume>

